home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 016a / unmap.zip / UNMAP.PAT
Text File  |  1991-10-10  |  4KB  |  104 lines

  1.                     Quarterdeck Technical Note
  2.  
  3.      
  4.      Patching QEMM-386 6.00 and 6.01 to cause QEMM-386 not to unmap 
  5.      free pages when an Expanded Memory (EMS) handle is freed. 
  6.  
  7.      Background:  Beginning with version 6.00, QEMM-386 unmaps from the 
  8.      page frame any pages of Expanded Memory that belong to an EMS 
  9.      handle that is freed.  It is possible that an EMS user may rely on 
  10.      memory being left in the page frame even after it has surrendered 
  11.      its EMS handle.  Since QEMM-386 version 6 ensures that there is no 
  12.      memory in the page frame after the program has freed its EMS 
  13.      handle such a program malfunctions.  QEMM-386 does this for a good 
  14.      purpose: to allow the ROM underlying the page frame to be visible 
  15.      whenever Expanded Memory is not being used.  The drawback to not 
  16.      unmapping free pages from the page frame is described below.  
  17.      Quarterdeck considers it poor programming practice for a program 
  18.      to use the page frame without taking out an EMS handle.  If you 
  19.      find that this patch makes your program work where it previously 
  20.      failed you should report this to the author of the program.  We at 
  21.      Quarterdeck are willing to discuss this matter with the authors of 
  22.      any commercial software that uses EMS in this manner.
  23.  
  24.      Glyphix 3.1 (dated 12/26/90) is one program that needs this patch.
  25.  
  26.      Drawbacks:  If you are using QEMM-386's Stealth feature, this 
  27.      patch may cause some users with SuperVGA cards to need to exclude 
  28.      C000-C0FF (or some portion of the address space occupied by the 
  29.      VGA ROM) to run high-resolution video modes.  Before using the 
  30.      patch, placing the page frame at C000 (the default location when 
  31.      the ST:M option is in effect) should make such an exclusion 
  32.      unnecessary.
  33.  
  34.      The following procedure prevents QEMM-386 from unmapping free EMS 
  35.      pages when an EMS handle is freed.
  36.  
  37.          -------------------------------------------------
  38.  
  39.      1) Make a copy of the QEMM386.SYS file in your QEMM directory.  We 
  40.      are about to alter your current copy of QEMM386.SYS; the copy you 
  41.      make will serve as a backup in case this operation fails.
  42.  
  43.            COPY C:\QEMM\QEMM386.SYS C:\QEMM\QEMMOLD.SYS
  44.  
  45.      (If your QEMM386.SYS is not located in the QEMM directory of the 
  46.      C: drive, change the path accordingly.)
  47.  
  48.      2) Go to the DOS directory on the hard disk and type:
  49.  
  50.                      DEBUG C:\QEMM\QEMM386.SYS
  51.  
  52.      (If your QEMM386.SYS is not located in the QEMM directory of the 
  53.      C: drive, change the path accordingly.)
  54.  
  55.      Hit the Enter key; you should the the DEBUG prompt, which is a 
  56.      hyphen.
  57.  
  58.      3) At the DEBUG prompt, type:
  59.  
  60.                         S 100 L FF00 3B E8 75
  61.  
  62.      Hit the Enter key; DEBUG should return a segment address and 
  63.      offset:
  64.  
  65.                              xxxx:yyyy
  66.      
  67.      4) At the DEBUG prompt again, use the segment address and offset 
  68.      that was just returned to give the DEBUG command:
  69.  
  70.                           E xxxx:yyyy 3B E8 EB 
  71.    
  72.      The address that DEBUG returned in step 3 should be used in place 
  73.      of the address xxxx:yyyy, which we use as an example.  Hit the 
  74.      Enter the key after the command; the DEBUG prompt should return in 
  75.      a moment.
  76.  
  77.      5) At the DEBUG prompt, type
  78.  
  79.                                  W
  80.  
  81.      Hit the Enter key; DEBUG will announce that it is writing a 
  82.      certain number of bytes, then it will return the DEBUG prompt.
  83.  
  84.      6) At the DEBUG prompt, type
  85.  
  86.                                  Q
  87.  
  88.      Hit the Enter key to exit DEBUG and return to DOS.
  89.  
  90.        --------------------------------------------------
  91.  
  92.      If the system fails after you perform this patch, copy the backup 
  93.      of QEMM386 that you made back to its original name.  
  94.  
  95.            COPY C:\QEMM\QEMMOLD.SYS C:\QEMM\QEMM386.SYS
  96.  
  97.      (If your QEMM386.SYS is not located in the QEMM  directory of the 
  98.      C: drive, change the path accordingly.)
  99.  
  100.      You may then wish to try the above procedure again, in case a 
  101.      mistake was made.
  102.  
  103.              * * *   E N D   O F   F I L E    * * *
  104.